# 该文件是工具文件，封装了以下方法：
# get_interface_dir()：获取项目文件路径
# read_yaml()：读取yaml文件

import os.path
import yaml

class FileTool:

    # 获取项目文件所在路径
    @classmethod #类方法,调用的时候，不需要实例化，直接   类.方法  即可
    def get_interface_dir(cls):
        # os.path.abspath(__file__) : 获取当前文件（file_tools.py）的绝对路径
        # 上上层文件夹路径（上层文件夹路径（当前文件绝对路径））
        return os.path.dirname(os.path.dirname(os.path.abspath(__file__)))

    @classmethod  # 类方法
    def read_yaml(cls,file_name):# 参数 file_name 为yaml文件名
        _path = cls.get_interface_dir()

        # 拼接路径
        # os.sep路径分割符（如果是windows系统，会自动拼接为反斜线\；其他系统自动拼接为正斜线/）
        # sep.join 需要的参数是一个列表
        # 拼接yaml文件路径：  _path路径下，datas文件夹下，文件名后缀为.yaml的文件
        yaml_file = os.sep.join([_path,"datas",file_name+".yaml"])
        # 打开yaml文件，并使用 yaml.safe_load将内容返回出去
        with open(yaml_file,encoding="utf-8") as f:
            return yaml.safe_load(f)

if __name__ == '__main__':
    print(FileTool.read_yaml("corp_info"))

